From 0e14456f15412b1245cc8dab7df7021793d44441 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 26 Apr 2016 09:10:03 +0100 Subject: [PATCH] gdk: Ensure resources registration happens once Like GTK does it. https://bugzilla.gnome.org/show_bug.cgi?id=765576 --- gdk/gdk.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gdk/gdk.c b/gdk/gdk.c index 6c7464c3f1..97ea21333b 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -269,6 +269,22 @@ gdk_add_option_entries_libgtk_only (GOptionGroup *group) gdk_add_option_entries (group); } +static gpointer +register_resources (gpointer dummy G_GNUC_UNUSED) +{ + _gdk_register_resource (); + + return NULL; +} + +static void +gdk_ensure_resources (void) +{ + static GOnce register_resources_once = G_ONCE_INIT; + + g_once (®ister_resources_once, register_resources, NULL); +} + void gdk_pre_parse (void) { @@ -277,7 +293,7 @@ gdk_pre_parse (void) gdk_initialized = TRUE; - _gdk_register_resource (); + gdk_ensure_resources (); /* We set the fallback program class here, rather than lazily in * gdk_get_program_class, since we don't want -name to override it. -- 2.30.2